Fix Coil:Cooling:DX cannot mimic Coil:Cooling:DX:MultiSpeed PLF > 1 behavior#11448
Fix Coil:Cooling:DX cannot mimic Coil:Cooling:DX:MultiSpeed PLF > 1 behavior#11448
Conversation
| OpModePower = thisspeed.fullLoadPower * speedRatio; | ||
| } else { | ||
| OpModePower = thisspeed.fullLoadPower * thisspeed.RTF; | ||
| } |
There was a problem hiding this comment.
So either multiply by PLR when NOT including startup losses or use RTF when including startup losses. That does seem correct. And only do this for speeds > 1 because at low speed the compressor will obviously cycle on and off. To save me some investigation time, why is line 424 different (i.e., doesn't check for speedNum)?
There was a problem hiding this comment.
I think line 424 is different because we're already under the speedNum > 1 block.
| @@ -24,6 +24,12 @@ See pull request [#11366](https://github.com/NatLabRockies/EnergyPlus/pull/11366 | |||
|
|
|||
| # Object Change: ObjectStartsWithC | |||
|
|
|||
| # Object Change: Coil:Cooling:DX:CurveFit:OperatingMode | |||
|
|
|||
| Insert new field A2 which is also TODO, "Apply Part Load Fraction to Speeds Greater than 1", defaulted to blank | |||
There was a problem hiding this comment.
You're right, TODO is F9.
| \type choice | ||
| \key Yes | ||
| \key No | ||
| \default Yes |
There was a problem hiding this comment.
I was thinking that the default should be the same as the Multispeed object and the transition could insert Yes. What do you think?
Coil:Cooling:DX:MultiSpeed,
A9 , \field Apply Part Load Fraction to Speeds Greater than 1
\type choice
\key Yes
\key No
\default No
There was a problem hiding this comment.
I agree that No should be the default. And I personally think the transition should use the default (even though it will result in diffs), but I can see arguments for both sides.
There was a problem hiding this comment.
I would not have a problem with using the default of No.
|
|
|
|
|
|
|
|
rraustad
left a comment
There was a problem hiding this comment.
These changes look good to me. The diffs are because of the default for No which is consistent with other coil models.
| Real64 maxCyclingRate = 0.0; | ||
| Real64 latentTimeConst = 0.0; | ||
| bool latentDegradationActive = false; | ||
| bool applyPartLoadFractionAllSpeeds = true; |
There was a problem hiding this comment.
Maybe it doesn't matter, but should this default to false so it's consistent with the IDD default?
There was a problem hiding this comment.
I think it doesn't matter since downstream this variable is set to true when "Yes" in the IDF, otherwise false (when blank or "No"). But for consistency, I'll change it anyway. Good catch.
|
|
|
|
mitchute
left a comment
There was a problem hiding this comment.
Looks good. Everything looks like it's been rigorously reviewed. Thank @joseph-robertson, @rraustad, and @shorowit.
| if (Util::SameString(input_data.apply_part_load_fraction_to_speeds_greater_than_1, "Yes")) { | ||
| this->applyPartLoadFractionAllSpeeds = true; | ||
| } else { | ||
| this->applyPartLoadFractionAllSpeeds = false; | ||
| } |
There was a problem hiding this comment.
Not all of the real "code" changes are highlighted here, but it surprised me how small the changes are to implement this.
|
|
||
| # Object Change: Coil:Cooling:DX:CurveFit:OperatingMode | ||
|
|
||
| Insert new field A2 which is also F9, "Apply Part Load Fraction to Speeds Greater than 1", defaulted to No |
| SUBROUTINE SetThisVersionVariables() | ||
| ! TODO: Update this section as appropriate | ||
| VerString='Conversion 26.1 => 26.1' | ||
| VerString='Conversion 26.1 => 26.2' |
There was a problem hiding this comment.
Thanks for catching this.
Pull request overview
Coil:Cooling:DXcannot mimicCoil:Cooling:DX:MultiSpeedPLF > 1 behavior #11164Description of the purpose of this PR
Pull Request Author
Reviewer